/*
 * @Description: 
 * @Author: zoe
 * @Date: 2024-09-25 10:48:58
 * @LastEditors: rendc
 * @LastEditTime: 2024-09-25 11:01:06
 */
public class Test_IM {
    public static void main(String[] args) {
      //通过匿名内部类实现接口
      ISleep sleep = new ISleep(){
        //实现接口方法
        @Override
        public void sleep() {
          System.out.println("躺着睡");
        }
      };
      sleep.sleep();
      sleep.sleep();
      new ISleep(){
        @Override
        public void sleep() {
          System.out.println("趴着睡");
        }
      }.sleep();
      //通过匿名内部类实现抽象类
      MyClass myClass = new MyClass(){
        @Override
        public void run() {
          System.out.println("重写run方法");
        }
      };
      myClass.run();
      myClass.test();

      //简化写法-匿名对象只能使用一次，因为没有名字无法再次访问
      new MyClass(){
        @Override
        public void run() {
          System.out.println("简化：重写run方法");
        }
      }.run();
    }
}